﻿using Mt.Site.Core.Organizations.UserCache;
using Mt.Site.Core.WorkFlows.Enum;
using System;

namespace Mt.Site.Core.WorkFlows.Design.Cache
{
    public interface IWorkFlowNodeCacheItem
    {
        Guid WorkflowId { get; }

        Guid NodeId { get; }

        int Order { get; }

        string Name { get; }

        string ShortName { get; }

        string Description { get; }

        ActionScheme ActionScheme { get; }

        Guid[] NextNodeList { get; }

        Guid[] BackNodeList { get; }

        long[] UserIdList { get; }

        string[] ActionList { get; }

        bool CanEditAttachment { get; }

        OperatorFilter BeforeSelectFilter { get; }

        string[] BeforeSelectMoreFilter { get;  }

        OperatorFilter SelectedFilter { get;  }

        string[] SelectedMoreFilter { get;  }

        string HandlingTimeLimit { get;  }

        /// <summary>
        /// 在可确定下一步的节点和人员后，是否自动发送
        /// </summary>
        bool IsAutoSendToNext { get; }

        string OptionFunction { get;}

        WorkflowNodeCustomData CustomData { get; }

        bool IsActive { get; set; }
    }
}